import java.util.*;
public class text1 {
    /*给定一个含有 n 个正整数的数组和一个正整数 target 。
    找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl+1, ..., numsr-1, numsr] ，
    并返回其长度。如果不存在符合条件的子数组，返回 0 。*/
    public static int seek(int[] nums,int target) {
        int n=nums.length;
        int left=0;
        int result=Integer.MAX_VALUE;
        int sum=0;
        for(int right=0;right<n;right++) {
            sum+=nums[right];
            while(sum>=target){
                result=Math.min(result,right-left+1);
                sum-=nums[left];
                left++;
            }
        }
        return result<=n?result:0;
    }
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[] nums=new int[n];
        for(int i=0;i<n;i++){
            nums[i]=sc.nextInt();
        }
        int target=sc.nextInt();
        int length=seek(nums,target);
        System.out.println(length);
        sc.close();
    }
}
